#ifndef __CoordinateCal_H__
#define __CoordinateCal_H__

#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
	double *src;
	double *dst;
} point;

#include<windows.h>

// 导出dll
#define DLL_EXPORT __declspec(dllexport)
/**
 * @brief 计算变换矩阵
 * @param pointlist 输入的一组数据，包含原始向量和映射后向量
 * @param Dim 输入的数据维度，及pointlist中src和dst的向量长度
 * @param clusterN 输入的坐标点个数
 * @param A 输出的变换矩阵，需要有足够的空间存储，矩阵形状为(Dim+1)*(Dim+1)
 * @return void
 */
DLL_EXPORT void CoordinateCal(point *pointlist,int Dim,int clusterN, double *A);

#ifdef __cplusplus
} // extern "C"
#endif

#endif // __CoordinateCal_H__

